language: rust
-rust: stable
-sudo: required
-dist: trusty
-os: linux
-services:
- - docker
+rust:
+ - stable
+ - beta
+ - nightly
+sudo: false
+script:
+ - ./configure --prefix=$HOME/cargo-install --disable-cross-tests --disable-optimize
+ - make
+ - make test
+ - make distcheck
+ - make doc
+ - make install
+ - make uninstall
+after_success: |
+ [ $TRAVIS_BRANCH = master ] &&
+ [ $TRAVIS_PULL_REQUEST = false ] &&
+ [ $(uname -s) = Linux ] &&
+ pip install ghp-import --user $USER &&
+ $HOME/.local/bin/ghp-import -n target/doc &&
+ git push -qf https://${TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
+env:
+ global:
+ # apparently we use too much memory and if there's more than one rustc then
+ # when compiling Cargo's unit tests some compilers will be randomly kill
+ # -9'd
+ - CARGOFLAGS=-j1
+ - secure: scGpeetUfba5RWyuS4yt10bPoFAI9wpHEReIFqEx7eH5vr2Anajk6+70jW6GdrWVdUvdINiArlQ3An2DeB9vEUWcBjw8WvuPtOH0tDMoSsuVloPlFD8yn1Ac0Bx9getAO5ofxqtoNg+OV4MDVuGabEesqAOWqURNrBC7XK+ntC8=
matrix:
include:
- # stable linux builds, tested
- - env: TARGET=x86_64-unknown-linux-gnu
- ALT=i686-unknown-linux-gnu
- IMAGE=dist
- MAKE_TARGETS="test distcheck doc install uninstall"
- - env: TARGET=i686-unknown-linux-gnu
- IMAGE=dist
- MAKE_TARGETS=test-unit-i686-unknown-linux-gnu
- CFG_DISABLE_CROSS_TESTS=1
-
- # stable osx builds, tested
- - env: TARGET=x86_64-apple-darwin
- ALT=i686-apple-darwin
- MAKE_TARGETS="test distcheck doc install uninstall"
- MACOSX_DEPLOYMENT_TARGET=10.7
- os: osx
- before_install:
- - export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
- - export OPENSSL_LIB_DIR=`brew --prefix openssl`/include
- - env: TARGET=i686-apple-darwin
- MAKE_TARGETS=test
- MACOSX_DEPLOYMENT_TARGET=10.7
- CFG_DISABLE_CROSS_TESTS=1
- os: osx
+ - os: osx
+ rust: stable
before_install:
- export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
- - export OPENSSL_LIB_DIR=`brew --prefix openssl`/include
-
- # stable musl target, tested
- - env: TARGET=x86_64-unknown-linux-musl
- IMAGE=x86_64-musl
- CFG_DISABLE_CROSS_TESTS=1
- MAKE_TARGETS=test-unit-$TARGET
-
- # cross compiled targets
- - env: TARGET=arm-unknown-linux-gnueabi
- IMAGE=cross
- - env: TARGET=arm-unknown-linux-gnueabihf
- IMAGE=cross
- - env: TARGET=armv7-unknown-linux-gnueabihf
- IMAGE=cross
- - env: TARGET=aarch64-unknown-linux-gnu
- IMAGE=cross
- - env: TARGET=i686-unknown-freebsd
- IMAGE=cross
- - env: TARGET=x86_64-unknown-freebsd
- IMAGE=cross
- - env: TARGET=x86_64-unknown-netbsd
- IMAGE=cross
- - env: TARGET=mips-unknown-linux-gnu
- IMAGE=cross
- - env: TARGET=mipsel-unknown-linux-gnu
- IMAGE=cross
- - env: TARGET=mips64-unknown-linux-gnuabi64
- IMAGE=cross
- rust: nightly
- - env: TARGET=mips64el-unknown-linux-gnuabi64
- IMAGE=cross
- rust: nightly
- - env: TARGET=s390x-unknown-linux-gnu
- IMAGE=cross
- rust: nightly
- - env: TARGET=powerpc-unknown-linux-gnu
- IMAGE=cross
- rust: beta
- - env: TARGET=powerpc64-unknown-linux-gnu
- IMAGE=cross
- rust: beta
- - env: TARGET=powerpc64le-unknown-linux-gnu
- IMAGE=cross
- rust: beta
-
- # beta/nightly builds
- - env: TARGET=x86_64-unknown-linux-gnu
- ALT=i686-unknown-linux-gnu
- IMAGE=dist
- MAKE_TARGETS="test distcheck doc install uninstall"
- DEPLOY=0
- rust: beta
- - env: TARGET=x86_64-unknown-linux-gnu
- ALT=i686-unknown-linux-gnu
- IMAGE=dist
- MAKE_TARGETS="test distcheck doc install uninstall"
- DEPLOY=0
- rust: nightly
-
- exclude:
- - rust: stable
-
-before_script:
- - pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
- - curl https://static.rust-lang.org/rustup.sh |
- sh -s -- --add-target=$TARGET --disable-sudo -y --prefix=`rustc --print sysroot`
- - if [ ! -z "$ALT" ]; then
- curl https://static.rust-lang.org/rustup.sh |
- sh -s -- --add-target=$ALT --disable-sudo -y --prefix=`rustc --print sysroot`;
- fi
-script:
- - if [ "$TRAVIS_OS_NAME" = "osx" ]; then
- SRC=. src/ci/run.sh $TARGET;
- else
- src/ci/docker/run.sh $IMAGE $TARGET;
- fi
-after_success:
- - travis-cargo --only nightly doc-upload
-
-env:
- global:
- - DEPLOY=1
- - secure: LB2o9UL90Z4CVOLVQsTbZr7ZBLA1dCLxFODuCkPkbdqG3Kl5z1yMIPMRvSbjp9KwBlIgm+Mg0R1iqphKVq+rVP5zo96K4+kEQMG+zWsPb23ZKTxiL8MK5VgCZ7s9AONCvNeCTCNAG3EyeciFr5Zr9eygVCfo0WF6JsPujYYQZx0=
-
-notifications:
- email:
- on_success: never
-
-before_deploy:
- - mkdir -p deploy/$TRAVIS_COMMIT
- - cp target/$TARGET/release/dist/cargo-nightly-$TARGET.tar.gz
- deploy/$TRAVIS_COMMIT
-
-deploy:
- - provider: s3
- bucket: rust-lang-cargo-dev
- skip_cleanup: true
- local_dir: deploy
- upload_dir: cargo-master
- acl: public_read
- region: us-west-1
- access_key_id: AKIAJYHGN72KKCN4DFBQ
- secret_access_key:
- secure: wKKDMYBVTdWLuc7+ffpjTqJs1EdM2pXpV6keUfZGv9RLRta+esh/r/cgc+UQ7+m9JHAliH8eWhlMm5ws6WDgkTvM0PTdqWBgwd24BRbAitsXX2kWfi9WgAeSJVSkIJdZ999TRpRIJu7Zc+1++fbfdD/tDv5XBirQGOJv1HynVWY=
- on:
- branch: auto
- condition: $DEPLOY = 1
-
-cache:
- directories:
- - $HOME/.cargo
- - target/openssl
+ - export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib
+
+branches:
+ only:
+ - master
+
+addons:
+ apt:
+ sources:
+ - kalakris-cmake
+ packages:
+ - cmake
+ - g++-multilib
+ - lib32stdc++6
include config.mk
+ifneq ($(CFG_LOCAL_RUST_ROOT),)
+export LD_LIBRARY_PATH := $(CFG_LOCAL_RUST_ROOT)/lib:$(LD_LIBRARY_PATH)
+export DYLD_LIBRARY_PATH := $(CFG_LOCAL_RUST_ROOT)/lib:$(DYLD_LIBRARY_PATH)
+endif
+
export PATH := $(dir $(CFG_RUSTC)):$(PATH)
ifdef CFG_ENABLE_NIGHTLY
ifdef CFG_LOCAL_CARGO
CARGO := $(CFG_LOCAL_CARGO)
else
-CARGO := $(CFG_CARGO)
+CARGO := $(TARGET_ROOT)/snapshot/bin/cargo$(X)
endif
all: $(foreach target,$(CFG_TARGET),cargo-$(target))
define CARGO_TARGET
-cargo-$(1): target/openssl/$(1).stamp
+cargo-$(1): $$(CARGO) target/openssl/$(1).stamp
$$(CFG_RUSTC) -V
$$(CARGO) --version
$$(CARGO) build --target $(1) \
--manifest-path $(S)Cargo.toml \
$$(OPT_FLAG) $$(CARGOFLAGS) $$(VERBOSE_FLAG) $$(ARGS)
-test-unit-$(1): target/openssl/$(1).stamp cargo-$(1)
- @mkdir -p $$(CFG_BUILD_DIR)/target/$(1)/cit
- $$(CARGO) test --target $(1) \
- --manifest-path $(S)Cargo.toml \
- $$(OPT_FLAG) $$(CARGOFLAGS) $$(VERBOSE_FLAG) $$(only)
+test-unit-$(1): $$(CARGO)
+ @mkdir -p target/$(1)/cit
+ $$(CARGO) test --target $(1) $$(CARGOFLAGS) $$(VERBOSE_FLAG) $$(only)
endef
$(foreach target,$(CFG_TARGET),$(eval $(call CARGO_TARGET,$(target))))
+$(TARGET_ROOT)/snapshot/bin/cargo$(X): $(S)src/snapshots.txt
+ $(CFG_PYTHON) $(S)src/etc/dl-snapshot.py $(CFG_BUILD)
+ touch $@
+
+
# === Tests
test: style no-exes $(foreach target,$(CFG_TARGET),test-unit-$(target))
style:
- (cd $(S) && sh tests/check-style.sh)
+ sh tests/check-style.sh
-ifeq ($(CFG_GIT),)
-no-exes:
-else
no-exes:
- (cd $(S) && find $$($(CFG_GIT) ls-files) -type f \
+ find $$(git ls-files) -type f \
\( -perm -u+x -or -perm -g+x -or -perm -o+x \) \
-not -name configure -not -name '*.sh' -not -name '*.rs' \
-not -name '*.py' -not -wholename "*/rust-installer/*" | \
grep '.*' \
- && exit 1 || exit 0)
-endif
+ && exit 1 || exit 0
# === Misc
--markdown-css stylesheets/normalize.css \
--markdown-css stylesheets/all.css \
--markdown-css stylesheets/prism.css \
- --html-in-header $(S)src/doc/html-headers.html \
- --html-before-content $(S)src/doc/header.html \
- --html-after-content $(S)src/doc/footer.html
+ --html-in-header src/doc/html-headers.html \
+ --html-before-content src/doc/header.html \
+ --html-after-content src/doc/footer.html
ASSETS := CNAME images/noise.png images/forkme.png images/Cargo-Logo-Small.png \
stylesheets/all.css stylesheets/normalize.css javascripts/prism.js \
javascripts/all.js stylesheets/prism.css images/circle-with-i.png \
$(foreach asset,$(ASSETS),target/doc/$(asset)) \
target/doc/cargo/index.html
-target/doc/cargo/index.html: target/openssl/$(CFG_BUILD).stamp cargo-$(CFG_BUILD)
- $(CARGO) doc --no-deps --target $(CFG_BUILD) \
- --manifest-path $(S)Cargo.toml $(OPT_FLAG)
+target/doc/cargo/index.html:
+ $(CARGO) doc --no-deps
-$(DOC_DIR)/%.html: \
- $(S)src/doc/%.md \
- $(S)src/doc/html-headers.html \
- $(S)src/doc/header.html \
- $(S)src/doc/footer.html
+$(DOC_DIR)/%.html: src/doc/%.md src/doc/html-headers.html src/doc/header.html src/doc/footer.html
@mkdir -p $(@D)
$(CFG_RUSTDOC) $< -o $(@D) $(DOC_OPTS)
-$(DOC_DIR)/%: $(S)src/doc/%
+$(DOC_DIR)/%: src/doc/%
@mkdir -p $(@D)
cp $< $@
OPENSSL_OS_armv7-unknown-linux-gnueabihf := linux-armv4
OPENSSL_OS_i686-unknown-freebsd := BSD-x86-elf
OPENSSL_OS_i686-unknown-linux-gnu := linux-elf
-OPENSSL_OS_i686-unknown-linux-musl := linux-elf
OPENSSL_OS_mips-unknown-linux-gnu := linux-mips32
OPENSSL_OS_mipsel-unknown-linux-gnu := linux-mips32
OPENSSL_OS_mips64-unknown-linux-gnuabi64 := linux64-mips64
OPENSSL_AR_armv7-unknown-linux-gnueabihf := armv7-linux-gnueabihf-ar
OPENSSL_AR_i686-unknown-freebsd := i686-unknown-freebsd10-ar
OPENSSL_AR_i686-unknown-linux-gnu := ar
-OPENSSL_AR_i686-unknown-linux-musl := ar
OPENSSL_AR_mips-unknown-linux-gnu := mips-linux-gnu-ar
OPENSSL_AR_mips64-unknown-linux-gnuabi64 := mips64-linux-gnuabi64-ar
OPENSSL_AR_mips64el-unknown-linux-gnuabi64 := mips64el-linux-gnuabi64-ar
OPENSSL_CC_armv7-unknown-linux-gnueabihf := armv7-linux-gnueabihf-gcc
OPENSSL_CC_i686-unknown-freebsd := i686-unknown-freebsd10-gcc
OPENSSL_CC_i686-unknown-linux-gnu := gcc
-OPENSSL_CC_i686-unknown-linux-musl := musl-gcc
OPENSSL_CC_mips-unknown-linux-gnu := mips-linux-gnu-gcc
OPENSSL_CC_mips64-unknown-linux-gnuabi64 := mips64-linux-gnuabi64-gcc
OPENSSL_CC_mips64el-unknown-linux-gnuabi64 := mips64el-linux-gnuabi64-gcc
SETARCH_i686-unknown-linux-gnu := setarch i386
OPENSSL_CFLAGS_i686-unknown-linux-gnu := -m32
-OPENSSL_CFLAGS_i686-unknown-linux-musl := -m32
define BUILD_OPENSSL
ifdef OPENSSL_OS_$(1)
environment:
+ CFG_DISABLE_CROSS_TESTS: 1
matrix:
+ - TARGET: i686-pc-windows-msvc
+ MSVC: 1
+ BITS: 32
+ ARCH: x86
+ - TARGET: x86_64-pc-windows-msvc
+ MSVC: 1
+ BITS: 64
+ ARCH: amd64
- TARGET: x86_64-pc-windows-gnu
ARCH: amd64
BITS: 64
- CFG_DISABLE_CROSS_TESTS: 1
- MAKE_TARGETS: test-unit-x86_64-pc-windows-gnu
- TARGET: i686-pc-windows-gnu
ARCH: x86
BITS: 32
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z
MINGW_DIR: mingw32
- CFG_DISABLE_CROSS_TESTS: 1
- MAKE_TARGETS: test-unit-i686-pc-windows-gnu
- - TARGET: i686-pc-windows-msvc
- BITS: 32
- ARCH: x86
- MAKE_TARGETS: test-unit-i686-pc-windows-msvc
- CFG_DISABLE_CROSS_TESTS: 1
- - TARGET: x86_64-pc-windows-msvc
- OTHER_TARGET: i686-pc-windows-msvc
- BITS: 64
- ARCH: amd64
- MAKE_TARGETS: test-unit-x86_64-pc-windows-msvc
install:
- - set PATH=C:\msys64\mingw%BITS%\bin;C:\msys64\usr\bin;%PATH%
+ - IF "%MSVC%"=="" set PATH=C:\msys64\mingw%BITS%\bin;C:\msys64\usr\bin;%PATH%
- if defined MINGW_URL appveyor DownloadFile %MINGW_URL%/%MINGW_ARCHIVE%
- if defined MINGW_URL 7z x -y %MINGW_ARCHIVE% > nul
- if defined MINGW_URL set PATH=%CD%\%MINGW_DIR%\bin;C:\msys64\usr\bin;%PATH%
- - curl -sSf -o rustup-init.exe https://win.rustup.rs/
- - rustup-init.exe -y --default-host x86_64-pc-windows-msvc
- - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
- - if NOT "%TARGET%" == "x86_64-pc-windows-msvc" rustup target add %TARGET%
- - if defined OTHER_TARGET rustup target add %OTHER_TARGET%
+ - python src/etc/install-deps.py
+ - python src/etc/dl-snapshot.py %TARGET%
+ - SET PATH=%PATH%;%cd%/rustc/bin
+ - SET PATH=%PATH%;%cd%/target/snapshot/bin
- rustc -V
- cargo -V
- - git submodule update --init
build: false
test_script:
- - sh src/ci/run.sh %TARGET%
-
-cache:
- - target
- - C:\Users\appveyor\.cargo\registry
-
-after_test:
- - mkdir %APPVEYOR_REPO_COMMIT%
- - copy target\%TARGET%\release\dist\cargo-nightly-%TARGET%.tar.gz
- %APPVEYOR_REPO_COMMIT%
-
-artifacts:
- - path: $(APPVEYOR_REPO_COMMIT)\cargo-nightly-$(TARGET).tar.gz
- name: cargo
-
-deploy:
- - provider: S3
- skip_cleanup: true
- access_key_id: AKIAIIBSE766REJRCHEA
- secret_access_key:
- secure: S3MCw/gXyWBuq8cW+eFQjbfjccxrH1koYqQxsYDvCDkM7D2PLqd88yv8lND7dVt0
- bucket: rust-lang-cargo-dev
- set_public: true
- region: us-west-1
- artifact: cargo
- folder: cargo-master
- on:
- branch: auto
+ - cargo test
need_cmd tr
need_cmd sed
need_cmd cmake
-need_cmd make
+if [ "${OS}" != "Windows_NT" ]; then
+ need_cmd curl
+fi
CFG_SRC_DIR="$(cd $(dirname $0) && pwd)/"
CFG_BUILD_DIR="$(pwd)/"
valopt prefix "/usr/local" "set installation prefix"
valopt local-rust-root "" "set prefix for local rust binary"
-if [ ! -z "${CFG_LOCAL_RUST_ROOT}" ]; then
- export LD_LIBRARY_PATH="${CFG_LOCAL_RUST_ROOT}/lib:$LD_LIBRARY_PATH"
- export DYLD_LIBRARY_PATH="${CFG_LOCAL_RUST_ROOT}/lib:$DYLD_LIBRARY_PATH"
- export PATH="${CFG_LOCAL_RUST_ROOT}/bin:$PATH"
-fi
-
-valopt cargo "cargo" "cargo to bootstrap from"
-valopt rustc "rustc" "rustc to compile with"
-valopt rustdoc "rustdoc" "rustdoc to document with"
-
if [ $HELP -eq 0 ]; then
- probe_need CFG_CARGO $CFG_CARGO
- probe_need CFG_RUSTC $CFG_RUSTC
- probe_need CFG_RUSTDOC $CFG_RUSTDOC
+ if [ ! -z "${CFG_LOCAL_RUST_ROOT}" ]; then
+ export LD_LIBRARY_PATH="${CFG_LOCAL_RUST_ROOT}/lib:$LD_LIBRARY_PATH"
+ export DYLD_LIBRARY_PATH="${CFG_LOCAL_RUST_ROOT}/lib:$DYLD_LIBRARY_PATH"
+ LRV=`${CFG_LOCAL_RUST_ROOT}/bin/rustc --version`
+ if [ $? -eq 0 ]; then
+ step_msg "using rustc at: ${CFG_LOCAL_RUST_ROOT} with version: $LRV"
+ else
+ err "failed to run rustc at: ${CFG_LOCAL_RUST_ROOT}"
+ fi
+ CFG_RUSTC="${CFG_LOCAL_RUST_ROOT}/bin/rustc"
+ else
+ probe_need CFG_RUSTC rustc
+ fi
DEFAULT_BUILD=$("${CFG_RUSTC}" -vV | grep 'host: ' | sed 's/host: //')
fi
valopt docdir "${CFG_PREFIX}/share/doc/cargo" "install extra docs"
valopt mandir "${CFG_PREFIX}/share/man" "install man pages in PATH"
valopt libdir "${CFG_PREFIX}/lib" "install libraries"
+valopt local-cargo "" "local cargo to bootstrap from"
if [ $HELP -eq 1 ]
then
step_msg "looking for build programs"
+probe_need CFG_CURLORWGET curl wget
+probe_need CFG_PYTHON python2.7 python2 python
probe_need CFG_CC cc gcc clang
-probe GIT git
+
+if [ ! -z "${CFG_LOCAL_RUST_ROOT}" ]; then
+ CFG_RUSTDOC="${CFG_LOCAL_RUST_ROOT}/bin/rustdoc"
+else
+ probe_need CFG_RUSTDOC rustdoc
+fi
# a little post-processing of various config values
CFG_PREFIX=${CFG_PREFIX%/}
fi
if [ ! -z "$CFG_ENABLE_NIGHTLY" ]; then
- need_cmd curl
if [ ! -f .cargo/config ]; then
mkdir -p .cargo
cat > .cargo/config <<-EOF
putvar CFG_LIBDIR
putvar CFG_RUSTC
putvar CFG_RUSTDOC
-putvar CFG_CARGO
-putvar CFG_GIT
msg
copy_if_changed ${CFG_SRC_DIR}Makefile.in ./Makefile
+++ /dev/null
-FROM alexcrichton/rust-slave-linux-cross:2016-10-11c
-ENTRYPOINT []
+++ /dev/null
-FROM alexcrichton/rust-slave-dist:2016-09-26
-ENTRYPOINT []
+++ /dev/null
-#!/bin/sh
-# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-# file at the top-level directory of this distribution and at
-# http://rust-lang.org/COPYRIGHT.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-set -e
-
-script=`cd $(dirname $0) && pwd`/`basename $0`
-image=$1
-TARGET=$2
-
-docker_dir="`dirname $script`"
-ci_dir="`dirname $docker_dir`"
-src_dir="`dirname $ci_dir`"
-root_dir="`dirname $src_dir`"
-
-docker build \
- --rm \
- -t rust-ci \
- "`dirname "$script"`/$image"
-
-mkdir -p $HOME/.cargo
-mkdir -p target
-
-exec docker run \
- --user `id -u`:`id -g` \
- --volume "$root_dir:/checkout:ro" \
- --workdir /tmp \
- --env CFG_DISABLE_CROSS_TESTS=$CFG_DISABLE_CROSS_TESTS \
- --env MAKE_TARGETS="$MAKE_TARGETS" \
- --env SRC=/checkout \
- --env CARGO_HOME=/cargo \
- --volume "$HOME/.cargo:/cargo" \
- --volume `rustc --print sysroot`:/rust:ro \
- --volume `pwd`/target:/tmp/target \
- --interactive \
- --tty \
- rust-ci \
- sh -c "\
- PATH=\$PATH:/rust/bin \
- LD_LIBRARY_PATH=/rust/lib:\$LD_LIBRARY_PATH \
- /checkout/src/ci/run.sh $TARGET"
-
+++ /dev/null
-FROM ubuntu:16.04
-
-RUN apt-get update -y && apt-get install -y --no-install-recommends \
- cmake \
- make \
- gcc \
- musl-tools \
- curl \
- ca-certificates \
- libc6-dev \
- git
+++ /dev/null
-#!/bin/sh
-# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-# file at the top-level directory of this distribution and at
-# http://rust-lang.org/COPYRIGHT.
-#
-# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-# option. This file may not be copied, modified, or distributed
-# except according to those terms.
-
-set -ex
-
-TARGET=$1
-
-if [ -z "$SRC" ]; then
- SRC=.
-fi
-
-$SRC/configure \
- --prefix=/tmp/obj/install \
- --target=$TARGET \
- --enable-nightly
-
-make cargo-$TARGET
-make dist-$TARGET
-
-if [ ! -z "$MAKE_TARGETS" ]; then
- for target in "$MAKE_TARGETS"; do
- make $target
- done
-fi
rust_date = open('src/rustversion.txt').read().strip()
url = 'https://static.rust-lang.org/dist/' + rust_date
-cargo_url = 'https://static.rust-lang.org/cargo-dist/2016-03-21'
def install_via_tarballs():
if os.path.isdir("rustc-install"):
shutil.rmtree("rustc-install")
- # Download cargo
- host_fname = 'cargo-nightly-' + host + '.tar.gz'
- download.get(cargo_url + '/' + host_fname, host_fname)
- download.unpack(host_fname, "rustc-install", quiet=True, strip=2)
- os.remove(host_fname)
-
# Download the compiler
host_fname = 'rustc-nightly-' + host + '.tar.gz'
download.get(url + '/' + host_fname, host_fname)
use std::io::prelude::*;
use std::env;
-use cargo::util::ProcessBuilder;
+use cargo::util::{process, ProcessBuilder};
use cargotest::support::{execs, paths, cargo_dir};
use hamcrest::{assert_that, existing_file, existing_dir, is_not};
use tempdir::TempDir;
fn cargo_process(s: &str) -> ProcessBuilder {
- let mut p = cargotest::process(&cargo_dir().join("cargo"));
+ let mut p = process(&cargo_dir().join("cargo"));
p.arg(s).cwd(&paths::root()).env("HOME", &paths::home());
return p;
}
use std::io::prelude::*;
use std::path::{Path, PathBuf};
-use cargotest::{cargo_process, process};
+use cargo::util::process;
+use cargotest::cargo_process;
use cargotest::support::{project, execs, paths, git, path2url, cargo_dir};
use flate2::read::GzDecoder;
use hamcrest::{assert_that, existing_file, contains};